﻿//-----------------------------------------------------------------------------------------
// <copyright file="Message.cs" company="Jakub Florczyk (www.jakubflorczyk.pl)">
//      Copyright © 2009 Jakub Florczyk (www.jakubflorczyk.pl)
//      http://blipnet.codeplex.com/
// </copyright>
//-----------------------------------------------------------------------------------------

namespace BlipNet
{
    using System;
    using Newtonsoft.Json;

    /// <summary>
    /// Typ wiadomości.
    /// </summary>
    public enum MessageType
    {
        /// <summary>
        /// Wiadomość status.
        /// </summary>
        Status,

        /// <summary>
        /// Wiadomość skierowana.
        /// </summary>
        DirectedMessage,

        /// <summary>
        /// Wiadomość prywatna.
        /// </summary>
        PrivateMessage,

        /// <summary>
        /// Wadomość powiadomienie.
        /// </summary>
        Notice,

        /// <summary>
        /// Wiadomość wskazówka.
        /// </summary>
        UpdateTip
    }

    /// <summary>
    /// Wiadomość ogólna.
    /// </summary>    
    public class Message
    {
        /// <summary>
        /// Identyfikator wiadomości.
        /// </summary>
        [JsonProperty("id")]
        public int Id { get; set; }

        /// <summary>
        /// Data utworzenia.
        /// </summary>
        [JsonProperty("created_at")]
        public DateTime CreatedAt { get; set; }

        /// <summary>
        /// Rodzaj transportu.
        /// </summary>
        [JsonProperty("transport")]
        public Transport Transport { get; set; }

        /// <summary>
        /// Treść wiadomości.
        /// </summary>
        [JsonProperty("body")]
        public string Body { get; set; }

        /// <summary>
        /// Typ wiadomości.
        /// </summary>
        [JsonProperty("type")]
        public MessageType MessageType { get; set; }

        /// <summary>
        /// Ścieżka użytkownika.
        /// </summary>
        [JsonProperty("user_path")]
        public string UserPath { get; set; }

        /// <summary>
        /// Ścieżka odbiorcy.
        /// </summary>
        [JsonProperty("recipient_path")]
        public string RecipientPath { get; set; }

        /// <summary>
        /// Ścieżka zdjęć.
        /// </summary>
        [JsonProperty("pictures_path")]
        public string PicturesPath { get; set; }

        /// <summary>
        /// Ścieżka nagrania.
        /// </summary>
        [JsonProperty("recording_path")]
        public string RecordingPath { get; set; }

        /// <summary>
        /// Ścieżka filmu.
        /// </summary>
        [JsonProperty("movie_path")]
        public string MoviePath { get; set; }
    }
}
